<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
   <TITLE>class  SG_EXPORT osg::ClippingVolume</TITLE>
   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">

<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::ClippingVolume</A></H2></H2><BLOCKQUOTE>A ClippingVolume class for representing convex clipping volumes made up.</BLOCKQUOTE>
<HR>

<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef  std::vector&lt;<!1><A HREF="Plane.html">osg::Plane</A>&gt;inline  PlaneList <B><A HREF="#DOC.2.22.1">ClippingVolume</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   <B><A HREF="#DOC.2.22.2">ClippingVolume</A></B>(const <!1><A HREF="ClippingVolume.html#DOC.2.22.2">ClippingVolume</A>&amp; cv)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   <B><A HREF="#DOC.2.22.3">ClippingVolume</A></B>(const PlaneList&amp; pl)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   <B><A HREF="#DOC.2.22.4">~ClippingVolume</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.22.5">clear</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   <!1><A HREF="ClippingVolume.html">ClippingVolume</A>&amp; <B><A HREF="#DOC.2.22.6">operator = </A></B>(const <!1><A HREF="ClippingVolume.html">ClippingVolume</A>&amp; cv)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.22.7">setToUnitFrustum</A></B>()
<DD><I>Create a ClippingVolume with is cube, centered at 0,0,0, with sides of 2 units</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.22.8">setToUnitFrustumWithoutNearFar</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.22.9">set</A></B>(const <!1><A HREF="ClippingVolume.html">ClippingVolume</A>&amp; cs)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.22.10">set</A></B>(const PlaneList&amp; pl)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.22.11">add</A></B>(const <!1><A HREF="Plane.html">osg::Plane</A>&amp; pl)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   PlaneList&amp; <B><A HREF="#DOC.2.22.12">getPlaneList</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const PlaneList&amp; <B><A HREF="#DOC.2.22.13">getPlaneList</A></B>() const 
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.22.14">setupMask</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const bool <B><A HREF="#DOC.2.22.15">contains</A></B>(const <!1><A HREF="Vec3.html">osg::Vec3</A>&amp; v) const 
<DD><I>Check whether a vertex is contained with clipping set</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const bool <B><A HREF="#DOC.2.22.16">contains</A></B>(const <!1><A HREF="BoundingSphere.html">osg::BoundingSphere</A>&amp; bs, unsigned int&amp; mask) const 
<DD><I>Check whether any part of a bounding sphere is contained within clipping set.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const bool <B><A HREF="#DOC.2.22.17">contains</A></B>(const <!1><A HREF="BoundingSphere.html">osg::BoundingSphere</A>&amp; bs) const 
<DD><I>Check whether any part of a bounding sphere is contained within clipping set</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const bool <B><A HREF="#DOC.2.22.18">contains</A></B>(const <!1><A HREF="BoundingBox.html">osg::BoundingBox</A>&amp; bb, unsigned int&amp; mask) const 
<DD><I>Check whether any part of a bounding box is contained within clipping set.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const bool <B><A HREF="#DOC.2.22.19">contains</A></B>(const <!1><A HREF="BoundingBox.html">osg::BoundingBox</A>&amp; bb) const 
<DD><I>Check whether any part of a bounding box is contained within clipping set</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const bool <B><A HREF="#DOC.2.22.20">containsAllOf</A></B>(const <!1><A HREF="BoundingSphere.html">osg::BoundingSphere</A>&amp; bs) const 
<DD><I>Check whether the entire bounding sphere is contained within clipping set</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const bool <B><A HREF="#DOC.2.22.21">containsAllOf</A></B>(const <!1><A HREF="BoundingBox.html">osg::BoundingBox</A>&amp; bb) const 
<DD><I>Check whether the entire bounding box is contained within clipping set</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.22.22">transform</A></B>(const <!1><A HREF="Matrix.html">osg::Matrix</A>&amp; matrix)
<DD><I>Transform the clipping set by matrix.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.22.23">transformProvidingInverse</A></B>(const <!1><A HREF="Matrix.html">osg::Matrix</A>&amp; matrix)
<DD><I>Transform the clipping set by provide a pre inverted matrix.</I>
</DL></P>

<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>unsigned int <B><A HREF="#DOC.2.22.24">_localMask</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>PlaneList <B><A HREF="#DOC.2.22.25">_planeList</A></B>
</DL></P>

</DL>

<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>A ClippingVolume class for representing convex clipping volumes made up.
When adding planes, their normals should point inwards (into the volume) </BLOCKQUOTE>
<DL>

<A NAME="ClippingVolume"></A>
<A NAME="DOC.2.22.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt;<!1><A HREF="Plane.html">osg::Plane</A>&gt;inline  PlaneList ClippingVolume()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ClippingVolume"></A>
<A NAME="DOC.2.22.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   ClippingVolume(const <!1><A HREF="ClippingVolume.html#DOC.2.22.2">ClippingVolume</A>&amp; cv)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ClippingVolume"></A>
<A NAME="DOC.2.22.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   ClippingVolume(const PlaneList&amp; pl)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="~ClippingVolume"></A>
<A NAME="DOC.2.22.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   ~ClippingVolume()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="clear"></A>
<A NAME="DOC.2.22.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void clear()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator = "></A>
<A NAME="DOC.2.22.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="ClippingVolume.html">ClippingVolume</A>&amp; operator = (const <!1><A HREF="ClippingVolume.html">ClippingVolume</A>&amp; cv)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="setToUnitFrustum"></A>
<A NAME="DOC.2.22.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setToUnitFrustum()</B></TT>
<DD>Create a ClippingVolume with is cube, centered at 0,0,0, with sides of 2 units
<DL><DT><DD></DL><P>
<A NAME="setToUnitFrustumWithoutNearFar"></A>
<A NAME="DOC.2.22.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setToUnitFrustumWithoutNearFar()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="set"></A>
<A NAME="DOC.2.22.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void set(const <!1><A HREF="ClippingVolume.html">ClippingVolume</A>&amp; cs)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="set"></A>
<A NAME="DOC.2.22.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void set(const PlaneList&amp; pl)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="add"></A>
<A NAME="DOC.2.22.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void add(const <!1><A HREF="Plane.html">osg::Plane</A>&amp; pl)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getPlaneList"></A>
<A NAME="DOC.2.22.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   PlaneList&amp; getPlaneList()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getPlaneList"></A>
<A NAME="DOC.2.22.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const PlaneList&amp; getPlaneList() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setupMask"></A>
<A NAME="DOC.2.22.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void setupMask()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="contains"></A>
<A NAME="DOC.2.22.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const bool contains(const <!1><A HREF="Vec3.html">osg::Vec3</A>&amp; v) const </B></TT>
<DD>Check whether a vertex is contained with clipping set
<DL><DT><DD></DL><P>
<A NAME="contains"></A>
<A NAME="DOC.2.22.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const bool contains(const <!1><A HREF="BoundingSphere.html">osg::BoundingSphere</A>&amp; bs, unsigned int&amp; mask) const </B></TT>
<DD>Check whether any part of a bounding sphere is contained within clipping set.
Using a mask to determine which planes should be used for the check, and
modifying the mask to turn off planes which wouldn't contribute to clipping
of any internal objects.  This feature is used in osgUtil::CullVisitor
to prevent redundant plane checking.
<DL><DT><DD></DL><P>
<A NAME="contains"></A>
<A NAME="DOC.2.22.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const bool contains(const <!1><A HREF="BoundingSphere.html">osg::BoundingSphere</A>&amp; bs) const </B></TT>
<DD>Check whether any part of a bounding sphere is contained within clipping set
<DL><DT><DD></DL><P>
<A NAME="contains"></A>
<A NAME="DOC.2.22.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const bool contains(const <!1><A HREF="BoundingBox.html">osg::BoundingBox</A>&amp; bb, unsigned int&amp; mask) const </B></TT>
<DD>Check whether any part of a bounding box is contained within clipping set.
Using a mask to determine which planes should be used for the check, and
modifying the mask to turn off planes which wouldn't contribute to clipping
of any internal objects.  This feature is used in osgUtil::CullVisitor
to prevent redundant plane checking.
<DL><DT><DD></DL><P>
<A NAME="contains"></A>
<A NAME="DOC.2.22.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const bool contains(const <!1><A HREF="BoundingBox.html">osg::BoundingBox</A>&amp; bb) const </B></TT>
<DD>Check whether any part of a bounding box is contained within clipping set
<DL><DT><DD></DL><P>
<A NAME="containsAllOf"></A>
<A NAME="DOC.2.22.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const bool containsAllOf(const <!1><A HREF="BoundingSphere.html">osg::BoundingSphere</A>&amp; bs) const </B></TT>
<DD>Check whether the entire bounding sphere is contained within clipping set
<DL><DT><DD></DL><P>
<A NAME="containsAllOf"></A>
<A NAME="DOC.2.22.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const bool containsAllOf(const <!1><A HREF="BoundingBox.html">osg::BoundingBox</A>&amp; bb) const </B></TT>
<DD>Check whether the entire bounding box is contained within clipping set
<DL><DT><DD></DL><P>
<A NAME="transform"></A>
<A NAME="DOC.2.22.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void transform(const <!1><A HREF="Matrix.html">osg::Matrix</A>&amp; matrix)</B></TT>
<DD>Transform the clipping set by matrix.  Note, this operations carries out
the calculation of the inverse of the matrix since to transforms
planes must be multiplied my the inverse transposed. This
make this operation expensive.  If the inverse has been already
calculated elsewhere then use transformProvidingInverse() instead.
See http://www.worldserver.com/turk/computergraphics/NormalTransformations.pdf
<DL><DT><DD></DL><P>
<A NAME="transformProvidingInverse"></A>
<A NAME="DOC.2.22.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void transformProvidingInverse(const <!1><A HREF="Matrix.html">osg::Matrix</A>&amp; matrix)</B></TT>
<DD>Transform the clipping set by provide a pre inverted matrix.
see transform for details. 
<DL><DT><DD></DL><P>
<A NAME="_localMask"></A>
<A NAME="DOC.2.22.24"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int _localMask</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_planeList"></A>
<A NAME="DOC.2.22.25"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>PlaneList _planeList</B></TT>
<DL><DT><DD></DL><P></DL>

<HR><DL><DT><B>This class has no child classes.</B></DL>

<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>
